package rewind.show.es.anno;

import co.elastic.clients.elasticsearch._types.mapping.Property;

import java.lang.annotation.*;

@Documented
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface EsField {

    /**
     * es映射字段名称,缺省默认为字段名
     */
    String name() default "";

    /**
     * es映射字段类型
     * 必须手动指定,不允许使用es自动推测
     */
    Property.Kind type() default Property.Kind._Custom;

    /**
     * 同时存储为 keyword 类型
     */
    boolean keyword() default false;

    /**
     * 分词器
     */
    String analyzer() default "";
}
